1
Creazione di un server ad alte prestazioni in Rust
AI034Lesson 20
00:00

Costruire un server ad alte prestazioni in Rust è un viaggio verso astrazioni senza costi aggiuntivi. Spostando la complessità dal runtime al momento della compilazione tramite l'uso di macro procedurali, garantiamo che la logica di routing sia altrettanto efficiente del codice assembly scritto manualmente.

1. La struttura

Iniziamo con $ cargo new hello e $ cd hello. Il ciclo di feedback viene accelerato da $ cargo check, che verifica i tipi senza il costo della generazione completa del binario.

Terminale (CLI)cargo newcargo checkCompilatore Rust (AST)#[route(GET, "/")]TokenStream → AST🦀Ferris

2. Metaprogrammazione procedurale

A differenza di macro_rules!, macro simili agli attributi (ad esempio, #[route]) e macro simili alle funzioni (ad esempio, sql!()) manipolano direttamente il TokenStream direttamente. I macro simili agli attributi sono unici; possono sostituire l'elemento che annotano, permettendoci di incapsulare le funzioni handler all'interno di tabelle di routing ottimizzate già durante la compilazione.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>